<?php
/****************************/
// Permalink helper
// thaodx@gmail.com
/****************************/
function permalink($arrDetail, $page = 'post'){
	$slug = strtolower(urlText($arrDetail['text']).'-'.$arrDetail['id']);
	return BASE_URL.'/'.$slug;
}
function utf8ToAscii($str) {
	$chars = array(
		'a'	=>	array('ấ','ầ','ẩ','ẫ','ậ','Ấ','Ầ','Ẩ','Ẫ','Ậ','ắ','ằ','ẳ','ẵ','ặ','Ắ','Ằ','Ẳ','Ẵ','Ặ','á','à','ả','ã','ạ','â','ă','Á','À','Ả','Ã','Ạ','Â','Ă'),
		'e' =>	array('ế','ề','ể','ễ','ệ','Ế','Ề','Ể','Ễ','Ệ','é','è','ẻ','ẽ','ẹ','ê','É','È','Ẻ','Ẽ','Ẹ','Ê'),
		'i'	=>	array('í','ì','ỉ','ĩ','ị','Í','Ì','Ỉ','Ĩ','Ị'),
		'o'	=>	array('ố','ồ','ổ','ỗ','ộ','Ố','Ồ','Ổ','Ô','Ộ','ớ','ờ','ở','ỡ','ợ','Ớ','Ờ','Ở','Ỡ','Ợ','ó','ò','ỏ','õ','ọ','ô','ơ','Ó','Ò','Ỏ','Õ','Ọ','Ô','Ơ'),
		'u'	=>	array('ứ','ừ','ử','ữ','ự','Ứ','Ừ','Ử','Ữ','Ự','ú','ù','ủ','ũ','ụ','ư','Ú','Ù','Ủ','Ũ','Ụ','Ư'),
		'y'	=>	array('ý','ỳ','ỷ','ỹ','ỵ','Ý','Ỳ','Ỷ','Ỹ','Ỵ'),
		'd'	=>	array('đ','Đ'),
	);
	foreach ( $chars as $key=>$arr) {
		$str = str_replace( $arr, $key, $str);
	}
	return isoToAscii( $str);
}
// Description: Convert a string(even unicode string) into a friendly URL
// Author: Thaodx@24h.com.vn
// Date: 17/07/2008

/**
 * Tra lai chuoi ky tu ko dau, neu co tham so thu 2 se lay lam ext cho chuoi ko dau tra ve
 *
 * @param string $string Chuoi ky tu can chuyen thanh ko dau
 * @param string $ext Phan mo rong can them vao
 * @return string
 */

function urlText( $string, $ext = '')
{
	// remove all characters that aren"t a-z, 0-9, dash, underscore or space
	$string = utf8ToAscii( $string);
	$string = str_replace('&#8211;', '-', $string);
	$NOT_acceptable_characters_regex = '#[^-a-zA-Z0-9_ ]#';
	$string = preg_replace( $NOT_acceptable_characters_regex, '', $string);
	// remove all leading and trailing spaces
	$string = trim( $string); 
	// change all dashes, underscores and spaces to dashes
	$string = preg_replace( '#[-_]+#', '-', $string);
	$string = str_replace( ' ', '-', $string);
	// replace duplicated - char to single -
	$string = preg_replace('/-+/', '-', $string);
	if($string == '') $string = 'cgt';
	// return the modified string
	return $string.$ext;
}
function utf8ToNcr ($string) {
    /* Only do the slow convert if there are 8-bit characters */
    /* avoid using 0xA0 (\240) in ereg ranges. RH73 does not like that */
    if (! ereg("[\200-\237]", $string) and ! ereg("[\241-\377]", $string))
        return $string;

    // decode three byte unicode characters
    $string = preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e",       
    "'&#'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).';'",   
    $string);

    // decode two byte unicode characters
    $string = preg_replace("/([\300-\337])([\200-\277])/e",
    "'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'",
    $string);

    return $string;
}
function isoToAscii( $str) {

	$chars = array(
		'a'	=>	array('a&#803;','&#7845;','a&#768;','&#7847;','&#7849;','&#7851;','&#7853;','&#7844;','&#7846;','&#7848;','&#7850;','&#7852;','&#7855;','&#7857;','&#7859;','&#7861;','&#7863;','&#7854;','&#7856;','&#7858;','&#7860;','&#7862;','&#225;','&#224;','&#7843;','&#227;','&#7841;','&#226;','&#259;','&#193;','&#192;','&#7842;','&#195;','&#7840;','&#194;','&#258;','a&#769;','á','â','À'),
		'e' =>	array('&#7871;','&#7873;','&#7875;','&#7877;','&#7879;','&#7870;','&#7872;','&#7874;','&#7876;','&#7878;','&#233;','&#232;','&#7867;','&#7869;','&#7865;','&#234;','&#201;','&#200;','&#7866;','&#7868;','&#7864;','&#202;'),
		'i'	=>	array('&#237;','&#236;','&#7881;','&#297;','&#7883;','&#205;','&#204;','&#7880;','&#296;','&#7882;'),
		'o'	=>	array( 'ó', 'ô&#769;','&#417;&#769;','o&#803;','o&#769;','&#7889;','&#7891;','&#7893;','&#7895;','&#7897;','&#7888;','&#7890;','&#7892;','&#212;','&#7896;','&#7899;','&#7901;','&#7903;','&#7905;','&#7907;','&#7898;','&#7900;','&#7902;','&#7904;','&#7906;','&#243;','&#242;','&#7887;','&#245;','&#7885;','&#244;','&#417;','&#211;','&#210;','&#7886;','&#213;','&#7884;','&#212;','&#416;','ó','&#7894;'),
		'u'	=>	array('u&#769;','&#7913;','&#7915;','&#7917;','&#7919;','&#7921;','&#7912;','&#7914;','&#7916;','&#7918;','&#7920;','&#250;','&#249;','&#7911;','&#361;','&#7909;','&#432;','&#218;','&#217;','&#7910;','&#360;','&#7908;','&#431;'),
		'y'	=>	array('y&#769;','&#253;','&#7923;','&#7927;','&#7929;','&#7925;','&#221;','&#7922;','&#7926;','&#7928;','&#7924;'),
		'd'	=>	array('&#273;','&#272;'),
	);
	foreach ( $chars as $key=>$arr) {
		$str = str_replace( $arr, $key, $str);
	}
	
	//$str = str_replace( 'á', 'a', $str);

	$str =  preg_replace("/(ã|â|à|á)/", 'a', $str );
	$str =  preg_replace("/(è|é|ê)/", 'e', $str );
	$str =  preg_replace("/(ò|ô|ó|õ)/", 'o', $str );
	$str =  preg_replace("/(ù|ú)/", 'u', $str );
	$str =  preg_replace("/(ì|í)/", 'i', $str );
	$str =  preg_replace("/(ý)/", 'y', $str );
	
	return $str;
}
function youtubeVideoExtractor($str){
	$videoCode = '';
	if(strstr($str, 'img.youtube.com')){
		$arrUrl = explode('/', $str);
		$videoCode = $arrUrl[count($arrUrl) - 2];
	}
	elseif(strstr($str, 'youtube.com/embed/')){
		$videoCode = end(explode('/', $str));
	}
	else{
		$videoCode = $str;
	}
	return $videoCode;
}